In wireless telecommunication networks (such as GSM and other networks), many mobile devices and mobile stations (MS) (such as mobile phones and Personal Digital Assistants) may execute Java applications. Such applications are typically converted to the Java byte-code format described in U.S. Pat. No. 5,815,661 by Gosling, packaged together with data into JAR files, and installed in the memory of the MS. Applications typically interact with the MS through standardized sets of Application Programming Interfaces such as the Mobile Information Device Profile (MIDP) version 2.0 described in JSR-118 by Sun Microsystems. Such applications are called MIDlets.
The graphical user interface of a MIDP-compliant MS typically includes means for starting MIDlets, such as menus, icons, or a special application called the MIDlet Manager. It has been found that this method of starting MIDlets has the following limitations which are detrimental to the market acceptance of MIDlets. First, in order to start a MIDlet, the user must typically press a complex sequence of buttons and/or navigate several layers of menus. Second, the look-and-feel of these buttons and/or menus is not standardized across different brands and models of mobile devices.
Another method for starting MIDlets is the MIDP Push Registry described in JSR-118 by Sun Microsystems. The Push Registry API allows a MIDlet to be registered with the Push Registry of the MS, so that the MS will start the MIDlet automatically whenever a specific triggering event occurs. The triggering event is typically an incoming Short Message (SMS) containing an Application Port Addressing Information Element as specified by GSM TS 03.40. It should be noted that the Push Registry is not intended to allow the user to start a MIDlet; rather, service providers typically use the Push Registry to trigger the processing of inbound information, such as incoming messages in an Instant Messaging service.
WAP browsers, gateways and servers are another feature of wireless telecommunication networks. A user can typically use the WAP browser of a MS to download, install and run a MIDlet, though this method suffers from the same limitations as the methods mentioned previously. The WAP standard also includes a mechanism called WAP Push. WAP Push allows a service provider to send an SMS that will cause a MS to open and display a WAP address without requiring the user to enter the address manually. There are three kinds of WAP Push messages: Service Indication (SI) messages are encoded in WBXML and contain some text as well as the WAP address; Service Loading (SL) messages are encoded in WBXML and only contain the WAP address; clickable SMS are plain text SMS containing the WAP address.
Unstructured Supplementary Service Data (USSD) is a standard feature of GSM networks and is originally described in GSM TS 02.90, 03.90, and 04.90. USSD provides a text-only, bidirectional, interactive, and session-oriented channel of communication between mobile stations and servers in the Public Land Mobile Network (PLMN). A mobile-initiated USSD request is typically used to start an interactive dialogue between the user of a MS and an application running on a remote computer such as a HLR or a USSD service platform.
Special Numbers are a feature of telecommunication networks. Most networks can be configured so that whenever a subscriber dials a specific number (such as a short number or a non-geographic number or a premium number), the call will not be routed like a regular voice call, and will instead be controlled by a special server. Such behavior is supported, for example, by the standards INAP (described in ITU recommendation Q.1218 and Q.1228) and CAMEL (described in 3GPP TS 23.078).
Another feature of wireless telecommunication networks is the Mobile Telephony API (MTA) specified in JSR-253 by Sun Microsystems. The MTA allows a MIDlet to be notified of outgoing voice calls and mobile-initiated USSD requests.